﻿// Decompiled with JetBrains decompiler
// Type: MCM.Implementation.Global.FluentGlobalSettingsContainer
// Assembly: MCMv5, Version=5.10.2.0, Culture=neutral, PublicKeyToken=null
// MVID: 7AB326B9-B2B4-41C2-9177-68E944071101
// Assembly location: D:\steam\steamapps\workshop\content\261550\2859238197\bin\Win64_Shipping_Client\MCMv5.dll

using MCM.Abstractions;
using MCM.Abstractions.Base.Global;
using MCM.Abstractions.Global;

#nullable enable
namespace MCM.Implementation.Global
{
  internal sealed class FluentGlobalSettingsContainer : 
    BaseSettingsContainer<FluentGlobalSettings>,
    IFluentGlobalSettingsContainer,
    IGlobalSettingsContainer,
    ISettingsContainer,
    ISettingsContainerHasSettingsDefinitions,
    ISettingsContainerCanOverride,
    ISettingsContainerCanReset,
    ISettingsContainerPresets,
    ISettingsContainerHasSettingsPack
  {
    public void Register(FluentGlobalSettings settings)
    {
      if (settings.GetType() != typeof (FluentGlobalSettings))
        return;
      this.RegisterSettings(settings);
    }

    public void Unregister(FluentGlobalSettings settings)
    {
      if (settings.GetType() != typeof (FluentGlobalSettings) || !this.LoadedSettings.ContainsKey(settings.Id))
        return;
      this.LoadedSettings.Remove(settings.Id);
    }
  }
}
